# 使用官方的 Python:latest
FROM python

# 设置工作目录
WORKDIR /

# 复制当前目录的内容app.py到 Docker 容器中的 / 目录
COPY app.py /

# 安装 Flask、flask-cors 和 Gunicorn 包
RUN pip install --no-cache-dir flask flask-cors gunicorn

# 暴露应用的端口
# 你的 Flask 应用（通过 Gunicorn）将运行在 9090 端口
EXPOSE 9090

# 设置容器启动时执行的命令
# 使用 Gunicorn 启动 Flask 应用
# 注意：我们假设你的 Flask 应用实例在 app 变量中，并且没有额外的工厂函数来创建它
# 因此，我们直接在 wsgi:app 中引用它，其中 wsgi.py 应该是一个简单的文件，只包含从 app.py 导入 app 的代码

# 创建一个简单的 wsgi.py 文件（仅用于示例，不推荐在生产环境中这样做）
RUN echo "from app import app" > wsgi.py

# 使用 Gunicorn 启动应用
# 注意：在生产环境中，你应该有一个更健壮的 wsgi.py 文件和可能的配置管理
CMD ["gunicorn", "--bind", "0.0.0.0:9090", "wsgi:app"]

# 注意：上面的 CMD 指令假设你已经在容器中创建了一个有效的 wsgi.py 文件
# 在实际的生产环境中，你应该在代码库中包含一个 wsgi.py 文件，而不是在 Dockerfile 中动态创建它